// 原型屏幕尺寸配置
const PROTOTYPE_WIDTH = 409;
const PROTOTYPE_HEIGHT = 896;
const TASKBAR_HEIGHT = 48;
const EFFECTIVE_HEIGHT = PROTOTYPE_HEIGHT - TASKBAR_HEIGHT;

/**
 * 将原型X坐标转换为百分比
 * @param x 原型中的X坐标
 * @returns 百分比字符串
 */
export const convertX = (x: number): string => {
  return `${(x / PROTOTYPE_WIDTH) * 100}%`;
};

/**
 * 将原型Y坐标转换为百分比
 * @param y 原型中的Y坐标
 * @returns 百分比字符串
 */
export const convertY = (y: number): string => {
  return `${(y / EFFECTIVE_HEIGHT) * 100}%`;
};

/**
 * 将像素字号转换为em单位
 * @param px 原型中的像素字号
 * @param baseFontSize 基础字体大小(默认16px)
 * @returns em单位字符串
 */
export const convertFontSize = (px: number, baseFontSize = 18): string => {
  return `${px / baseFontSize}em`;
};

/**
 * 将原型尺寸转换为百分比
 * @param size 原型中的尺寸值
 * @param isWidth 是否为宽度方向
 * @returns 百分比字符串
 */
export const convertSize = (size: number, isWidth = true): string => {
  const base = isWidth ? PROTOTYPE_WIDTH : EFFECTIVE_HEIGHT;
  return `${(size / base) * 100}%`;
};